Skip to main content

Full text of "tektronix :: logicAnal :: 070-4801-00 12R01perfAnaPack Jun84"

See other formats


Tfektronix 

COMMITTED TO EXCELLENCE 



Instructions 

12R01 

PERFORMANCE 
ANALYSIS 
ROM PACK 



A 1240 Logic Analyzer with the 12R01 Performance Analysis ROM 
Pack can be used to perform a variety of tasks in software and 
hardware analysis. Two alternate methods of analysis are available 
with the pack: State Overview and Event Measurement. 



PLEASE CHECK FOR CHANGE INFORMATION 
AT THE REAR OF THIS MANUAL 



070-4801-00 FIRST PRINTING DECEMBER 1983 

Product Group 57 REVISED PRINTING JUNE 1984 



II 



State Overview counts the occurrences of events within a defined w ] 

range, and has the advantage of using the 1 240's advanced trigger- w i 

ing features to acquire the data that is to be processed. Event oS 

Measurement allows a variety of measurement techniques, such as *<,$ 

counting clock cycles and occurrences, or taking time measurments. o | 
The two methods combined in this pack work together to provide a 
highly flexible software and hardware analysis tool. 

Insert this manual at the back of your 1240 Logic Analyzer Opera- 
tor's Manual, or in the 1240 Optional Accessories binder. 



C 

n 



PREFACE 

This manual is a supplement to the 1240 Logic Analyzer Operator's Manual. It 
contains complete instructions for use of the 1240 with the 12R01 Performance 
Analysis ROM Pack. The manual is intended for use by both the novice and more 
experienced users, but assumes familiarity with the 1240 Logic Analyzer. 

Section 1 of this manual gives a brief overview of the ROM pack, followed by 
installation and power-up procedures. 

Section 2 descibes all menus and features provided by the ROM pack for both State 
Overview and Event Measurement functions. 

Section 3 contains several sample applications of both State Overview and Event 
Measurement. 

All service information is located in the 1240 Logic Analyzer Service Manual. 
RELATED DOCUMENTS 

In addition to this manual, the 1240 Logic Analyzer Operator's Manual will help you 
understand and operate your Performance Analysis ROM Pack. 



* 



LU 

o 

z 

u-S 
CO 

I- 

I w 

ii 



Copyright ® 1983, 1984 Tektronix, Inc. 
All rights reserved. 



12R01 - Performance Analysis ROM Pack 

TABLE OF CONTENTS (cont.) 

Appendix A STORING AND LOADING ROM PACK SETUPS 

Storing Performance Analysis Setups A-1 

Loading Setups From Ram Packs A-1 

Appendix B ERROR AND PROMPT MESSAGES 

Appendix C REPLACEABLE PARTS LIST 

INDEX 



LIST OF ILLUSTRATIONS 

Figure Page 

1-1 Installing a ROM Pack 1-3 

2-1 The Performance Analysis menu 2-1 

2-2 Enter Ranges menu 2-4 

2-3 View Range Histograms 2-5 

2-4 Enter Events menu 2-9 

2-5 Menu displays for possible selections in Event Function field 2-10 

2-6 Diagrammed examples of Event Measurement 2-11 

2-7 Enter Distribution Intervals menu 2-13 

2-8 Variations of the Enter Distribution Intervals menu 2-14 

2-9 View One Event menu 2-15 

2-10 View All Events menu 2-17 

3-1 Setup for Enter Ranges menu 3-1 

3-2 View Range Histograms display 3-2 

3-3 Setups for Enter Events menu 3-3 

3-4 View All Events display 3-4 

3-5 Setup for Enter Distribution Intervals 3-5 

3-6 View One Event display 3-5 

3-7 Setup for Enter Distribution Intervals 3-7 

3-8 View One Event Display 3-7 

3-9 Setup for Enter Events menu 3-8 



ll 



12R01 - Performance Analysis ROM Pack 



OVERVIEW AND POWER-UP PROCEDURE 

The Performance Analysis ROM Pack provides two separate features that aid in the 
development and test of software and hardware for microprocessor-based products. 

State Overview. State Overview is used to look at the activity levels of various event 
ranges. The State Overview function lets you define up to 11 pairs of range values, 
entered as a lower bound, an optional name, and an upper bound. Each range is also 
associated with a specific channel group defined in the Channel Grouping menu. 

Once the ranges have been entered, you begin acquiring data using the standard 1 240 
triggering. When an acquisition is complete, State Overview software searches the 
acquired data for matches between the ranges and the channel groups they are 
associated with. Each time an event falls within a range associated with the event's 
channel group, a counter for that range is incremented. 

In the display, the total number of matches for each range is given. The total number of 
acquisition cycles that occurred on the given timebase are also counted. The 
percentage of matches to total acquisition cycles on the given timebase is shown as a 
histogram for each range. 

See State Overview in section 2 of this manual for details and instructions. 

Event Measurement. Event Measurement lets you take a closer look at event 
activity. It provides an alternate method of analyzing data that does not use the 
normal 1240 triggering, but acquires data only on defined events. In Event Measure- 
ment, a measurement contains three elements: the start measurement event, an 
optional target event, and the stop measurement event. 

If no target event is defined, you may choose to count the clock cycles during each 
measurement or time the duration of each measurement. If the target within the 
measurement consists of a single event, occurrences of the target event can be 
counted or timed during each measurement. If the target event consists of two events, 
the interval between these two events is timed during each measurement. 

The statistical totals from all defined events can be compared in one menu. Or, if you 
desire a more detailed look at one event, the data acquired on an event can be broken 
into distribution intervals and viewed alone. See Event Measurement in Section 2 of 
this manual for details and instructions. 

CAPABILITIES 

The Performance Analysis ROM Pack allows the 1240 to perform a variety of 
hardware and software analysis tasks using entirely non-intrusive analysis methods. 
Some of the ROM Pack capabilities are: 

• analyzing memory use 

• determining activity levels of modules and sub-routines 

• determining excecution time of program modules 

• finding problem areas in the interface between hardware and software 

OPTIONAL ACCESSORIES 

No optional accessories are available with the 12R01 Performance Analysis ROM 
Pack. 



REV JUNE 1984 1-1 



12R01 - Performance Analysis ROM Pack 



PERFORMANCE ANALYSIS MENUS 

The State Overview menus do not interact with Event Measurement menus. Data 
acquired using one function has no effect on the other. 

Use the Performance Analysis menu to access all menus for both functions. The 
menus are: 

State Overview: 

• Enter Ranges - to specify the event ranges and the channel groups they are 
associated with. 

• View Range Histograms - to display range data. 
Event Measurement: 

• Enter Events - to define the events and the type of measurement to be used. 

• Enter Distribution Intervals - to define the distribution intervals that a single event is 
to be displayed in. 

• View One Event - to see data from a single event displayed in distribution intervals. 

• View All Events - to see the statistics from each event compared with others. 

INSTALLATION AND POWER-UP 

1240 Connections. When using the Performance Analysis ROM Pack, you must first 
connect the 1240 to the system under test using the standard 1240 probes and 
connectors. Refer to the 1240 Logic Analyzer Operator's Manuallor details on how to 
make these connections. 

Installing the ROM Pack. Install ROM packs in the slot directly beneath the probe 
connections on the right side-panel (see Figure 1-1). To install a pack, slide the pack 
(label side up) past the hinged slot cover and push it slowly and firmly into the 
connector. Two guides on the top cover of the pack ensure the pack will be installed 
correctly. 

ROM packs can be installed or removed while the power is off. If the power is on, the 
Storage Memory Manger menu must be displayed on the screen and you must press 
the LOAD NEW PACK soft key immediately after installing the pack. 

> CAUTION < 

Static discharge can damage the semiconductor devices in a ROM pack. 
Discharge static from a pack before installing it by momentarily laying the pack 
(label side up) on top of the 1240. 



1-2 



12R01 - Performance Analysis ROM Pack 




Hinged cover shields 
the pack connector 



4422-01 
I 



Figure 1-1. Installing a ROM pack. 

Loading the ROM Pack Contents. If you install the Performance Analysis ROM Pack 
while power is off, the contents of the pack will be automatically loaded into the 1240 
on powering up. To install the Performance Analysis ROM pack while power is on, you 
must first enter the Storage Memory Manager menu. Install the ROM pack then 
press the load new pack soft key. 

Removing the ROM Pack. To unload the ROM pack from the 1240 while power is on, 
enter the Storage Memory Manager menu, pull the ROM pack straight out of the 
1 240, then press LOAD new pack. If power is off, simply pull the pack out of the 1 240. 

Power-Up Diagnostics. If 1240 power-up diagnostics reveal an error, the 1240 
remains under diagnostic control. Refer to the 1240 Operator's Manual for an 
explanation of power-up conditions. If no error is present, the 1 240 automatically exits 
the diagnostic monitor and displays the Operation Level menu. 



1-3 



12R01 - Performance Analysis ROM Pack 



OPERATING INSTRUCTIONS 
Overview 

When the Performance Analysis ROM Pack is installed and loaded, a soft key labelec 
PERF. ANALYSIS MENU appears at the top of the Storage Memory Manager menu 
Touching the perf. analysis menu soft key causes the Performance Analysis mem 
to appear. Use the Performance Analysis menu to access both the State Overview 
and Event Measurement menus provided by the 12R01 Performance Analysis ROfV 
Pack. 

PERFORMANCE ANALYSIS MENU 

The Performance Analysis menu, shown in figure 2-1 , is a control menu used only tc 
select from the six other Performance Analysis menus. The first two menus listed 
Enter Ranges and View Range Histograms, work together to provide the State 
Overview function. They have no interaction with the four menus listed under Evenl 
Measurement. 

State Overview uses the Enter Ranges menu to define ranges, and the View Range 
Histograms menu to display data. Data acquired on ranges defined in the Enter 
Ranges menu is available only in the View Range Histograms menu. Event Measure- 
ment uses the Enter Events and Enter Distribution Intervals menus to define events 
and their displays, and the View One Event and View All Events menus to display the 
data. Data acquired on events defined in the Enter Events menu will be available only 
in the View One Event menu or the View All Events menu. 



STORAGE 

MEMORY 

MANAGER 



■89 

■HIM 




PERF. 
ANALYSIS 
SUB-MENU 



KNOB=SELECT 



1248 PERFORMANCE ANALYSIS 

SELECT SUB-MENU BY NUMBER: i 
STATE OVERUIEH 

1 - ENTER RANGES 

2 — UIEH RANGE HISTOGRAMS 
EVENT MEASUREMENT 

3 -- ENTER EUENTS 

4 - ENTER DISTRIBUTION INTERVALS 

5 -- UIEH ONE EVENT 

6 - UIEH ALL EUENTS 



4801-1 

Figure 2-1. Performance Analysis menu. This menu has only one select field. Selections are 1-6. 
The State Overview selections do not communicate with the Event Measurement 
selections. When a valid input is received, this menu is exited and the selected menu 
appears. Using the data entry keys to enter a value causes the selected menu to 
appear immediately. If you use the SCROLL knob or SELECT keys to select a value, 
you must touch the PERF. ANALYSIS SUBMENU soft key to call up the chosen 
menu. 



REV JUNE 1984 



2-1 



12R01 -Performance Analysis ROM Pack 



State Overview 

State Overview lets you acquire data on a set of defined ranges. Each range has a 
lower-bound event and an upper-bound event, and is defined for a specific group from 
the Channel Grouping menu. After a data acquisition is made {using the standard 1 240 
triggering) each cycle of the acquired data is searched to find any matches between 
the channel groups and the ranges defined for them. A match occurs any time the 
value of a group at a given cycle is greater than or equal to the lower-bound value and 
less than or equal to the upper-bound value of a range associated with that group. 

A cumulative count of the matches is kept for each range, and that count is displayed 
as a total count, a percentage of the total number of acquisition cycles on the 
associated channel group's given timebase, and as a bar graph {or histogram) 
proportional in length to that percentage. 

Data Acquisition. All triggering for data acquisition in State Overview must be set up 
and performed using the 1240's Trigger Spec menu. However, the start key does 
not work with State Overview. All acquisition is begun using soft keys. As with auto- 
run, State Overview acquisition continues until you manually halt it. To stop acquisi- 
tion, press the STOP key, any of the Menu keys, or any of the Menu soft keys at the 
top of a screen. 

The Enter Ranges menu is used to define ranges. The View Range Histograms menu 
is used to display data acquired on those ranges. As with the other 1240 menus, any 
field or data associated with timebase T2 is highlighted. 

Soft Keys. On the bottom of both menus used in State Overview you will find soft keys 
labeled begin sampling and continue sampling. The begin sampling soft key 
starts acquisition after setting all data or accumulated totals to zero. The continue 
sampling soft key also begins data acquisition, but the new data is accumulated into 
the old totals rather than resetting the totals to zero. When you touch one of these 
keys, the View Range Histograms menu appears. The load from active cursor 
soft key loads the event from the active data cursor in the state table into the bound 
field in which the cursor is located. Glitches are not loaded. 

The following paragraphs explain the operation of the Enter Ranges menu and the 
View Range Histograms menu. See Section 3 of this manual for sample applications 
of State Overview. 

Beating. If you use all don't cares in the Trigger Spec menu, it is possible to set up 
ranges whose acquire/process cycle time is such that the 1240 looks at exactly the 
same portion of code on each acquisition. The result will be that the same ranges are 
repeatedly sampled, while others are ignored. If this occurs, move the trigger from its 
current position to another position in acquisition memory. 



2-2 REV JUNE 1984 



12R01 -Performance Analysis ROM Pack 



ENTER RANGES MENU 

The Enter Ranges menu is used to define a lower and upper bound for up to 1 1 event 
ranges. Ranges must be associated with channel groups from the Channel Grouping 
menu (several ranges can be associated with one group). 

You may also enter an identifying name of up to eight characters for each range. To 
enter a name, use the data entry keys, SELECT keys, or SCROLL KNOB to select a 
character, then move the cursor to the next position. See callout 4 in Figure 2-2. 

Ranges may be entirely distinct from each other, or they may overlap. Events falling 
into more than one range will be counted in all ranges for which they are defined. For 
example, you might set up range 1 from to 14, range 2 from A to 1E, and range 3 
from 15 to 28 (all in hex). In that case, occurrences between and 9 would count in 
range 1, occurrences between A and 14, inclusive, would count in ranges 1 and 2, 
occurrences between 15 and 1E, inclusive, would count in ranges 2 and 3, and 
occurrences between 1 F and 28, inclusive, would count in range 3. If the lower bound 
event equals the upper bound event, then that single event forms a range. 

The bound values must be entered in the input radix defined for their associated 
group. Only 11 digits can be entered in a bounds field. If more than 11 digits are 
necessary for the assigned channel group, the bounds field will automatically be 
switched to hexadecimal. This means that if you are using a binary radix and have 
more than 1 1 channels assigned to the group, you will have to make your bounds 
entries in hexadecimal. 



NOTE 

If you define a set of ranges, acquire data on them, then change the ranges, you 
must use begin sampling to get valid data. If you use continue sampling to 
get new data, the data will be invalid. 

See Figure 2-2 for an example of the Enter Ranges menu with ranges defined. 



REV JUNE 1984 2-3 



12R01 - Performance Analysis ROM Pack 



STORAGE 

MEMORY 

MANAGER 



PERF. 
ANALYSIS 
MENU 



Ih! 



KNOB=SELECT 



1 -- ENTER RANGES 



TARGET 
GROUP TB 



LOU BOUND 



RANGE NAME 



HIGH BOUND 



■gtffl n MS 


{-- 


H| 


1 < IP 


WSm h rbi 


<-- 


ilwUJi 


< Mii 


■*•»:■ ti wm 


< = 


iiiiHaHI 


1 < mii 



BEGIN 




CONTINUE 




DELETE 




LOAD FROM 




ADD 


SAMPLING 




SAMPLING 




RANGE 




ACTIUE 
CURSOR 




RANGE 



10 



4801-2 

1 Channel group selections available in this field are determined by the 
setup in the Channel Grouping menu. Use this field to specify the group 
you wish to define the range for. Your selection here determines the 
size and input radix of the bounds fields. If you select a group here, then 
change the name of that group in the Channel Grouping menu, this 
menu will change to match. 

2 Indicates the timebase of the channel group you have chosen to define 
the range for. All data associated with timebase T2 is highlighted. This 
is not a select field. 

3 The value you enter here will determine the lower bound of the range. 
The value is included in the range. 

4 Use this field to name the range. Select from letters A-Z, numbers 0-9, 
special characters / , . : A $ and a blank space. 

5 The value you enter here will determine the upper bound of the range. 
The value is included in the range. (ThouCJ^ not shown, comparison is 
actually < = .) 

6 Erases all previously acquired data and totals then begins a new 
acquisition. Also causes the View Range Histograms menu to appear. 

7 Begins acquisition without initializing previous totals to zero. New data 
is accumulated into previous totals. Also causes the View Range 
Histograms menu to appear. 

8 Deletes the line of range-definition fields that the cursor is on. 

9 Loads the value from the active data cursor in the state table into the 
bound field your cursor is now on. 

10 Adds a new line of range-definition fields. New line appears below 
current cursor location, and is a copy of the li.ne the cursor was on. Up 
to 1 1 range definition fields are available at o.ne time. 



Figure 2-2. Enter Ranges menu. Example ranges and range names." have been entered. 
2-4 REV JUNE 1984 



12R01 - Performance Analysis ROM Pack 



VIEW RANGE HISTOGRAMS MENU 

The View Range Histograms menu is used as a data display: HORIZONTAL SCALING is 
the only select field. Bars in the histogram are ordered by name in the same sequence 
as the Enter Ranges menu. If you enter ranges in the Enter Ranges menu and then 
start acquisition, this menu will appear immediately. If you start or continue acquisition 
in this menu, the menu begins displaying data as it is acquired. As with auto-run 
setups, using State Overview causes the 1240 to continue making acquisitions and 
updating the display screen until you press the STOP key, any of the Menu keys, or any 
of the Menu soft keys at the top of a screen. 

In case of an overlap in ranges, data falling into more than one range will be counted 
and displayed in all applicable ranges. See the previous section on the Enter Ranges 
menu for an example. 

The percentage for each range reflects the number of matches out of the total number 
of cycles acquired on its associated timebase. The presence of other ranges has no 
effect on that percentage. 



STORAGE 

MEMORY 

MANAGER 



PERF. 
ANALYSIS 
MENU 



STATUS: 
IDLE 



2 -- UIEH RANGE HISTOGRAMS 



NO. OF Ti SAMPLES: 



513 



NO. OF ACQUISITIONS: 
HORIZONTAL SCALING: 



RANGE 
NAME 

SYSIN 

SYSOUT 

INTERUPT 

I 



NUMBER OF 
OCCURRENCES 



144 28J! 
64 12K 

297 575! 



PERCENTAGE 

112 2 3 3 4 4 5 
5 8 5 8 5 8 5 5 9 



BEGIN 
SAMPLING 




CONTINUE 
SAMPLING 



480 1 -3 

1 Current State Overview status. Possible states are ACQUIRING, PRO- 
CESSING, and idle. 

2 Number of samples that occurred on each timebase. If the 1 240 is set up 
for one timebase, only that timebase will appear. 

3 Triangular arrow (at right of bar in histogram) indicates data extends off 
screen. Increase horizontal scaling to see all data. 

4 Total number of acquisitions made. 

5 This is the range name you entered in the Enter Ranges menu. Ranges 
defined on T2 will have their names highlighted. 

6 Total number of matches between the range and its associated group. 

7 Percentage of matches out of the total number of events acquired on the 
channel group associated with the range. The histogram also represents 
this percentage. 



Figure 2-3. View Range Histograms. Example data has been acquired. 
REV JUNE 1984 



2-5 



12R01 - Performance Analysis ROM Pack 



Event Measurement 



Four menus are used to provide the Event Measurement functions. They are Enter 
Events, Enter Distribution Intervals, View One Event, and View All Events. As with the 
State Overview menus, you can access Event Measurement menus through the 
Performance Analysis menu. This section of the manual contains information relating 
directly to the use of the menus that control the Event Measurement functions See 
Section 3 for sample uses of Event Measurement. 

Event Measurement iets you define a section of data to locate the event you wish to 
analyze. In Event Measurement, a measurement consists of a Start Measurement 
event, an optional target event, and a Stop Measurement event. The data acquired in 
a single occurrence of the Start Measurement/Stop Measurement cycle is defined as 
a sample. When you start sampling, the 1240 repeatedly takes the same kind of 
measurement sample until you stop the sampling. Within each sample some type of 
measurement takes place, and this information is then processed for display. 

The target event may be a single event that you wish to count occurrences of, or an 
event you wish to time. It can also be two events, in which case the 1240 will measure 
the time between them. If you choose not to have a target event, you can time the du- 
ration of each sample, or count the clock cycles that occur on a given timebase during 
each sample. Up to four separate events can be defined. 

Unlike State Overview, Event Measurement does not use the standard 1240 trigger 
frame to control acquisition. Instead, data sampling is controlled by the Start 
Measurement/Stop Measurement events specified in the Enter Events menu When 
you press the BEGIN sampling soft key to begin sampling, the 1240 will continue to 
take samples and accumulate data until you press any of the Menu keys any of the 
Menu soft keys at the top of screen, or the STOP key. The display is updated once a 
second. 

The Start Measurement event is specified by two levels of event recognizers. Either 
timebase may be used in those word recognizers, and the basic format is- start 
MEASUREMENT AFTER N OCCURRENCES ON TX OF (WORD1) FOLLOWED BY M OCCUR- 
RENCES ON ty OF (WORD2). The measurement is qualified to begin after both events 
have been found. If you want to start the measurement after only one event, enter the 
value for the event in the second event recognizer and don't cares (X) in the first event 
recognizer. If you reverse this order, your measurement could be off by one clock 
cycle, or the start event might not be found at all. 

The Stop Measurement event consists of a single event recognizer, and a counter to 
specify how many times that event must occur before the measurement sample ends. 



2 " 6 REV JUNE 1984 



12R01 - Performance Analysis ROM Pack 



Soft Keys. On the bottom of all menus used in Event Measurement you will find soft 
keys labeled begin sampling and continue sampling. The begin sampling soft 
key starts acquisition after setting all data or accumulated totals to zero. If you touch 
the begin sampling soft key in the View One Event menu, all events will have their 
values reset to zero. The CONTINUE sampling soft key also begins data acquisition, 
but adds the new data to the old rather than resetting the totals to zero. 

The default event SPEC, soft key in the Enter Events menu resets all event 
recognizer fields for the displayed event to X (don't care), the iteration counts to 1 , of 
not to OF, and timebase fields to T1 (if any groups are defined on T1). No change is 
made until you confirm the action by pressing the X key. 

The load from active cursor soft key loads the event from the active data cursor 
in the state table into the event recognizer field in which the cursor is located. Any 
glitches will also be loaded, even if the glitch display is OFF. 

Data Display. Data acquired on events defined in the Enter Events menu is available in 
one of two menus. If you choose to display in the View All Events menu, all events are 
sampled. In that case, the summed times or counts of all samples (Start Measure- 
ment/Stop Measurement cycles) of each event can be displayed as the average of all 
samples, the largest single sample, or the smallest single sample. See View All Events 
later in this section for a detailed explanation. 

Defined events can also be sampled alone, with results displayed in the View One 
Event menu. These individual results are first divided into distribution intervals using 
the Enter Distribution Intervals menu. If you begin sampling using distribution inter- 
vals, each time the count (or time) from an event sample falls into a user-defined 
interval, the counter for that interval is incremented by one. See Enter Distribution 
Intervals later in this section for a detailed explanation. 

ENTER EVENTS MENU 

This menu is used to control data acquisition for Event Measurement functions. As 
previously described, the three main items to be specified in this menu are the Start 
and Stop measurement events, the target event, and the type of measurement to be 
used. Up to four separate events can be defined. 

The five optional methods of collecting data during each sample are described below. 
These options are selected under MEASUREMENT type, and are only selectable when 
you are in event 1 (indicated in the event entered field). When you change the 
measurement type in event 1, it is automatically changed for all events. This is 
necessary since the View All Events menu must have a common basis to compare the 
events by. The choice you make under measurement type affects the entire area 
marked by callout 6 in Figure 2-4. 

None of the five measurement methods are cumulative. Each sample total is distinct, 
and it is never added to other sample totals. If you compare the events, the results can 
be shown as an average, maximum, or minimum value for each sample of an event. If 
you look at a measurement using distribution intervals, each sample is represented as 
a single increment in an interval group total. 



REV JUNE 1984 2-7 



12R01 - Performance Analysis ROM Pack 

Count Occurrences, in Figure 2-4, the default entry, count OCCURRENCES, is 
selected under measurement type. The COUNT OCCURRENCES selection causes 
the 1 240 to count the number of times that the target event occurs during each sample 
(Start Measurement/Stop Measurement cycle). 

Count Cycles. Selecting count CYCLES causes the 1 240 to count the total number of 
clock cycles that occur on the selected timebase during each sample. 

Time Occurrences. This selection causes the 1240 to measure the time that a single 
target event is present. The timer is started when the target event is recognized, and 
stopped when any other word is recognized. If the event occurs more than once in a 
sample, the time from all occurences is accumulated to achieve the sample total. See 
figures 2-5 and 2-6. 

Measure Total Time. This selection causes the 1240 to time the duration of each 
sample. The timer is started when the Start Measurement event is recognized, and 
stopped when the Stop Measurement event is recognized. Timing resolution is 1 ns. 
See figures 2-5 and 2-6. 

Accumulate Time. This selection allows you to define a second measurement within 
the first, then time the inner measurement during each sample. The inner measure- 
ment consists of a start event and a stop event, and the timer will be started and 
stopped as those events are recognized. The time from all occurrences of the inner 
measurement is accumulated to achieve each sample total. 

With accumulate time, the Stop Measurement event does not provide an iteration 
selection. It is automatically set up for one iteration. If the Stop Measurement event 
occurs after the first level of the Start Measurement event has occurred, but before 
the second level, it resets the 1240 to begin looking for the first level event again. The 
1 240 also resets this way if the Stop Measurement event occurs after the second level 
Start event but before the inner measurement begins. In either case no events are 
timed, tf the Stop Measurement event occurs after the start event of the inner 
measurement but before the stop event of the inner measurement, a time measure- 
ment is taken, but it reflects the time from the inner measurement start to the outer 
measurement Stop, rather than the time between the two events defining the inner 
measurement. These restrictions apply only to the ACCUMULATE TIME mode. 

NOTE 

If you define an event, sample data, then change the event, you must use begin 
sampling to get valid data. If you use continue sampling to get new data, 
the data will be invalid. 

Figure 2-4 shows the Enter Events menu with COUNT OCCURRENCES selected. Figure 
2-5 shows the other possible contents of the area marked in callout 6 of Figure 2-4. 
Figure 2-6 gives a diagram explaining exactly how various measurements are taken. 



2-8 



12R01 - Performance Analysis ROM Pack 



STORAGE 

MEMORY 

MANAGER 



PERF. 
ANALYSIS 
MENU 




KN0B=SELEC1 



1 

EVENT NUMBER: il 



3 — ENTER EVENTS 
EVENT NAME: 



GRP 



START HEASUREMENTAFTER 
FOLLOWED BY 

MEASUREMENT TYPE 




7T 



1 ADRZ' 
"CCJRRENCES ON 

CCURRENCES ON 



STOP MEASURE 



HXKTAFTER HB^CCUR 



RENCES ON 



BEGIN 
SAMPLING 



CONTINUE 
SAMPLING 



DEFAULT 
EVENT 
SPEC 



LOAD FROM 
ACTIVE 
CURSOR 



1 Selections are 1 -4. Up to four events may be defined, to be viewed alone, 
or together for comparison. 

2 Use this field to name the event. The maximum number of characters in 
this field is 8. Select from letters A-Z, numbers 0-9, special characters 
/ , . : A $ and a blank space. 

3 Group names. Names associated with T2 are highlighted. 

4 Selections are T1 and T2 if the 1240 is set up for dual-timebase 
operation. An event recognizer field can be associated with only one 
timebase. Your selection in this field determines which groups are 
displayed in the event value fields. In this figure, the Start Measurement 
event contains only groups associated with T1 , and the target event 
contains only groups associated with T2. 

5 Event recognizer fields, one field per channel group. The number of digits 
available in a field is determined by the input radix selected for that group 
in the Channel Grouping menu. You can select OF, or OF NOT to precede 
each event. 

6 Selections are COUNT OCCURRENCES, COUNT CYCLES, MEASURE TO- 
TAL time, TIME OCCURRENCES, and ACCUMULATE TIME. The configura- 
tion of this area is determined by your selection. COUNT OCCURRENCES 
has been selected in this figure. The MEASUREMENT type can only be 
selected when you are in event number 1 (see callout 1 ). See Figure 2-5 
for the effects of other selections on this area. 

7 Resets the event recognizer fields to X (don't care), the iteration counts 
to 1 , OF not to OF, and the timebase fields to T1 (if any groups are 
defined on T1). No change is made until you confirm the action by 
pressing the X (don't care) key. 480 i_4 



Figure 2-4. Enter Events menu. The Enter Events menu with COUNT OCCURRENCES selected. 



REV JUNE 1984 



2-9 



12R01 - Performance Analysis ROM Pack 



HEASUREHENT TYPE 



HEASUREHENT TYPE 



FROfl START TO STOP 



HEASUREHENT TYPE 



sennmoN 



HEASUREHENT TYPE 



HEASUREHENT TYPE 




THEEN 



ENCE ON 

,T OCCURRENCE ON 



1 This selection causes the 1 240 to count the cycles that take place during 
each sample. The timebase is selectable if the 1 240 is set up for two 
timebase operation. 

2 This selection causes the 1240 to time the duration of each sample. 

3 This selection causes the 1 240 to count every occurrence of the target 
event during each sample. 

4 This selection causes the 1 240 to measure the time {or times) that the 
target event is present in each sample. 

5 This selection causes the 1240 to measure the time between the two 
words specifying the inner measurement. If the inner measurement 
occurs more than once, all times are added to achieve the sample total. 
See Accumulate Time in the preceeding text for details on the Stop 
Measurement event. 



4801-5 



Figure 2-5. Menu displays for possible selections in the event function field. Timebases are 
selectable if the 1 240 is set up for dual-timebase operation. These are only portions of 
an actual menu. See the preceding text for detailed explanations of each choice. 



2-10 



12R01 - Performance Analysis ROM Pack 

The diagrams below give three examples of time measurements. All three diagrams 
begin sampling with: 

START MEASUREMENT AFTER 1 OCCURRENCES ON T1 OF A 

FOLLOWED BY 1 OCCURRENCES ON T1 OF B. The sample ends With: STOP MEASURE- 
MENT AFTER 1 OCCURRENCES ON T1 OF C. 

A Z represents any event that does not need to be specified. 



CASE 1. MEASURE TOTAL TIME 
L 



SAMPLE 
CLOCK 




TM1 »J 

IXnZXZX£XD<5XIX 



START 
MEASUREMENT 
SAMPLE RESULT- TM1 

CASE 2: TIME OCCURENCES OF D. 



-J 1 | I i i 

END 
MEASUREMENT 



START 



TM1 -wi !-»--»-JTM2 



ZX*XbXZXIXI><^I3<^ 

clock E ' ' ' ' ! ' i^ ' I ' ' ' ■*-+ 

START END START 

MEASUREMENT MEASUREMENT 

SAMPLE RESULT - TM1 & TM2 

IF YOU COUNT CYCLES ON THIS DATA. THE SAMPLE RESULT IS 15. 
IF YOU COUNT OCCURENCES OF D ON THIS FIGURE, THE SAMPLE RESULT IS 6. 

CASE 3: ACCUMULATE TIME BETWEEN EACH OCCURENCE OF D & E 

^XZXlXEXiXl^XLKIXIX 

SAMPL E , ■ ■ ■ | I ■ , ) 

START END START 



MEASUREMENT 
SAMPLE RESULT = TM1 & TM2 



MEASUREMENT 



4801-6 



Figure 2-6. Diagrammed examples of Event Measurement. 

ENTER DISTRIBUTION INTERVALS MENU 

If you desire a more detailed look at one event using the Event Measurement function 
you can divide sampled data for the event into distribution intervals. A distribution 
interval is a range of occurrences formed by a low-bound value and a hiqh-bound 
value. 

Since several measurement types are available in the Enter Events menu the bound 
values can be by time or by count. After defining events in the Enter Events menu and 
entering distribution intervals, you begin taking samples. If a sample result falls into a 
defined distribution interval, the counter for that interval is incremented by one For 
example, if you defined a distribution interval ranging from 20 ns to 50 ns, and took a 
sample that returned a value of 30 ns, the counter for the 20 to 50 ns interval would be 
incremented by one. 

To gather data on the distribution intervals, you must begin sampling in the Enter 
Events menu, the Enter Distribution Intervals menu, or the View One Event menu If 
you begin sampling in the View All Events menu, the distribution intervals are ignored 



REV JUNE 1984 



2-11 



12R01 - Performance Analysis ROM Pack 

Three basic methods of dividing the data into distribution intervals are available 
through this menu. These methods are EXPONENTIAL, linear, and variable. All 
three methods allow you to define up to 1 2 intervals. An interval can refer to a range of 
counts or a range of clocked times, depending on the method of measurement you 
have selected in the Enter Events menu. As the example for variable intervals 
shows, the lower bound of an interval is included in the interval, but the upper bound is 
not. 

When you make a selection, using the intervals field shown in callout 1 of Figure 2- 
7, the menu will be configured to suit that selection. 

Variable Distribution Intervals. Figure 2-7 shows the Enter Distribution Intervals 
menu with VARIABLE selected in its intervals field, and MEASURE total time 
selected in the Enter Events menu. 

Values entered on adjacent lines define a distribution interval. Interval values entered 
for variable distribution intervals may be increasing, decreasing, or mixed, and they 
may overlap. If we used a count measurement, for example, we could enter the values 
5, 12, 7, and 16 on successive lines. The first line of the histogram would then 
represent each time that the event occurred from 5 to 1 1 times, the second line would 
represent the 7 to 1 1 interval, and the third line the 7 to 1 5 interval. With these intervals 
defined, a sample with 5 or 6 occurrences would be counted only in the first interval, a 
sample with 7 to 1 1 occurrences would be counted in all three distribution intervals, 
and a sample with 12 to 15 occurrences would be counted only in the third interval. 

The default intervals for this menu start at and go to 1200 in increments of 100 for 
count. The intervals start at .1 ms and go to 1 .4 ms in increments of .1 ms for time. 

Linear Distribution Intervals. As an example using COUNT OCCURRENCES, we want 
to take samples of an event and count the number of samples in which the target 
event occurred within its measurement 0-9 times, 1 0-1 9 times, 20-29 times, and so on 
up to 110-119 times. This is done by selecting linear in the Enter Distribution 
Intervals menu, then entering in the START RANGES AT field, and 10 as the STEP 
value. If you begin sampling data, then press the STOP key alter taking only five 
samples, the 1240 will record five totals. If these totals were 14, 8, 20, 7, and 23, the 
View Histogram Of One Event menu would display 2 as the NUMBER OF OCCUR- 
RENCES for the 0-9 interval, 1 for the 10-19 interval, 2 for the 20-29 interval, and for 
all intervals above that. 

The default intervals for linear distribution use a base of with a step value of 100 for 
count intervals. For time intervals, the base is 1 00 us, with a step value of 1 00 ^s . Fig- 
ure 2-8 gives an example setup for LINEAR distribution intervals. 

Exponential Distribution Intervals. With exponential distribution intervals, you must 
enter a base value from a 1-2-5 sequence. The View One Event menu will then 
automatically be configured with 12 values increasing in 1-2-5 steps starting with the 
base value. For example, if you enter 200 as the base, the next values will be 500, 
1000, 2000, 5000, etc. As with linear and variable distribution intervals, the entries 
may be by time or count, depending on the type of measurement you have selected in 
the Enter Events menu. If the intervals are by count, selections range from 1 to 1017. If 
the intervals are by time, you can select base values from 10 ns to 100 ms. 

The default base count value for this menu is 1 . The default base time value for this 
menu is 50 ns. Figure 2-8 shows the configuration for EXPONENTIAL distribution 
intervals. 

All of the distribution interval choices will be configured for either time intervals or 
count intervals, depending on the choice you have made in the Enter Events menu. If 
measurements are by count, the intervals vary from to 9*10111. If the measure- 
ments are by time, the possible intervals vary from to 999.9 seconds in increments of 



2-12 



REV JUNE 1984 



12R01 - Performance Analysis ROM Pack 

10 ns, and two fields must be used to enter an interval value. The lefthand field is the 
multiplicand for the righthand field, which is a select field with entries ranging from 10 
its to 1 00 seconds. To enter time intervals smaller than 1 ^s you must enter a decimal 
value in the left column. For example, to enter a bound value of 20 ns for a distribution 
interval, you must enter 0.002 in the left column and 10 us in the right. Whether by 
count or by time, the upper bound of an interval is not included in the interval. When by 
count, the upper bound is one less than the stated value. When by time the upper 
bound is 10 ns less than the stated value. 

Another way of stating this is: low-bound < X < high-bound. If the lower bound value 
equals the upper bound value, no interval is defined. 



4 -- EHTER DISTRIBUTION INTERUALS 





KHOB=SEL£CT 



1 Selections are exponential, linear, and variable. 

2 If measurement is by time, this field takes inputs from to 9.999. The 
number you enter here is used as a multplicand with the time select field 
(callout 3) to determine the value of the interval bound. If measurement is 
by count, you can enter numbers ranging from to 1 1 digits, and the 
time field is not displayed. 

3 Selections are 10 and 100 in microseconds (us), and 1, 10, or 100 in 
milliseconds (ms) and seconds (s). This field is multiplied by the value in 
the previous field to determine the value of the interval bound. For 
example, the first interval determined in this figure is for values greater 
than or equal to 10 ns and less than 512.3 M s. The second interval is for 
values greater than or equal to 51 2.3 M s and less than 8 ms. This field is 
only displayed if measurement is by time. 



4801-7 



Figure 2-7. Enter Distribution Intervals menu with variable selected. Figure 2-8 shows the 
variations of the Enter Distribution Intervals menu with exponential and linear 
selected. 



2-13 



12R01 - Performance Analysis ROM Pack 



RANGES 
START RANGES AT Kim OCCURRENCES 



RANGES 
START RANGES AT 
UITH STEP UALUE 




With exponential selected, you must select a value for the lowest- 
interval base. Selections will be either by count or by time, depending on 
the type of measurement you selected in the Enter Events menu. 
Whether by count or by time, all selections are from a 1-2-5-10... 
sequence. In this example the selection is by count. 

With linear selected, you must select the base value and the step size. 
Selections will be either by count or by time, depending on the type of 
measurement you selected in the Enter Events menu. In this example, 
the selections are by time. 



4801-8 



Figure 2-8. Variations of the Enter Distribution Intervals menu. Configurations for exponential 
and linear are shown here. These are only portions of an actual menu. The complete 
menu, with variable distribution intervals selected, is shown in Figure 2-7. 

VIEW ONE EVENT MENU 

The View One Event menu is used to display data collected on distribution intervals. 
The displayed data will be based on a count or a clocked time, depending on the 
measurement you selected in the Enter Events menu. 

This menu contains select fields that allow you to choose the event you wish to see, 
and to control the scaling of the bar graph (histogram). A small triangular arrow at the 
end of a single bar indicates that the data extends off the edge of the screen. To see 
data that extends off the screen, increase the value of the HORIZONTAL SCALING. 

Interval values are determined in the Enter Distribution Intervals menu. If you change 
the interval values you must take new samples to obtain data for those intervals. 

In this menu, the begin sampling soft key only resets data to zero for the event being 
viewed. Other event retain old data. 



2-14 



12R01 - Performance Analysis ROM Pack 



6 



STORAGE 

HEHORY 

MANAGER 



PERF. 
ANALYSIS 
MENU 




KNOB=SELECT 



STATUS: 
IDLE 



DISTRIBUTION OF: 



VIEW ONE EVENT 

NO. OF SAMPLES TAKEN: 



771-z 



EXPONENTIAL 
RANGE 
2*i8 A 5 
5*18*5 
1*18 A 6 
2*18*6 
5*i8 A 6 
1*18*7 
2*18*7 
5*18*7 
1*18*8 
2*18*8 
5*if A 8 
1*18*9 
2*18 A 9 



8 

8 

48 

125 

174 

J25 

CI 9 81 



NUMBER OF 
OCCURRENCES 



HORIZONTAL SCALING: 



► - 4 



BEGIN 
SAMPLING 



CONTINUE 
SAMPLING 



1 Select the name of the event you want to see. Any event you defined in 
the Enter Events menu is available as a selection here. 

2 Indicates the total number of samples taken for each event. If the defined 
events cover all possibilities, this field will be equal to the sum of the 
number of occurrences in each interval. 

3 Selections are *1 , *2, *5, *10, and *20. This field determines the relative 
size of the bar graph on the screen. A larger number gives a shorter 
graph. 

4 Indicates the histogram extends off the screen. To see all data, increase 
the value in horizontal SCALING. 

5 Indicates the number of times that the event occurred within the interval. 
In this callout the interval is 2*1 0r7 < X <5*10t7, and the event 
samples fell into that range 198 times. Histogram bars always represent 
the interval between the value listed on the same line and the value listed 
on the following line. 



Resets data to zero and starts sampling for the event being viewed. 
Other events are unaffected. 

4801-9 



Figure 2-9. View One Event. Data has been sampled for exponential intervals. 



NOTE 

If you define distribution intervals, sample data, then change the intervals you 
must use begin sampling to get valid data. If you use CONTINUE sampling to 
get new data, the new data will be invalid. 



2-15 



12R01 - Performance Analysis ROM Pack 



VIEW ALL EVENTS MENU 

This menu is a data display that lets you compare up to four events defined in the 
Enter Events menu. The comparison is by count or by time, depending on the selection 
you made in the first event of the Enter Events menu. Events in the View All Events 
menu are always compared on a logarithmic scale. 

All the events defined in the Enter Events menu will be listed in this menu. A select field 
lets you choose which of the events you wish to sample and display in the comparison. 

Figure 2-1 shows the View All Events menu with four events defined. For each event 
you can choose to display the minimum single sample value, the maximum single 
sample value, or the cumulative mean of all samples. You can also choose not to 
sample an event. 

For example, you can set up to COUNT the occurrences of an event, then start 
sampling and press the STOP key after three samples have been taken. If the 1240 
counted 1 3 occurrences of the event in the first measurement, 8 occurrences in the 
second measurement, and 24 occurrences in the third, this would cause the View All 
Events menu to display 8 with min selected, 24 with max selected, and 15 with MEAN 
selected. If you selected OFF, the display would show unused rather than a number. 

Events are listed and sampled in sequence as they are numbered in the Enter Events 
menu. In this example setup for figure 2-10, the 1240 would first look for and sample 
the CORRELAT event, then old junk, then sysin, and back to correlat, skipping 
READCO since it is OFF. 



2-16 



12R01 - Performance Analysis ROM Pack 



STORAGE 

MEMORY 

MANAGER 



PERF. 
ANALYSIS 

MENU 




KNOB=SELECT 



STATUS: 
IDLE 



DISPLAY 
DISPLAY 
DISPLAY 
DISPLAY 



H 



UIEK ALL EVENTS 



FOR CORRELAT 

FOR OLD JUNK 
FOR SYSIH 
FOR REAOCO 



NO. OF SAMPLES TAKEN: 

NO. OF SAMPLES TAKEN-' 

NO. OF SAMPLES TAKEN: 

NO. OF SAMPLES TAKEN: 



r-r 2 
27 
28 
28 



CORRELAT " I 

255.8 MS 

OLD JUNK I 

lee.e #s 

SYSIN 

158.0 »S 

READCO I 
UNUSED 



fie 108 1 18 188 

[NS NS mS »S MS 

I II It 



... 1 18 188 1 18 108 1 18 188 I860 
NS mS »S MS MS MS MS S S S S 




I t 
I I 



I I 



BEGIN 
SAMPLING 



ONTINU 
AHPLIH 



1 Selections are MIN, max, mean, and OFF. If you select OFF, the field 
name will appear in the histogram, but no samples will be taken for that 
event and unused will be displayed in place of the count or time. If you 
select mean, the average number of occurrences, cycles, or time for all 
samples of an event will be displayed. If you select min or max, the 
largest or smallest sample of an event will be displayed. Since this field 
can be changed while sampling, events may or may not be sampled the 
same number of times. 

2 Tells the number of times that each defined event has been sampled. 
Since you can turn an event OFF or ON while samples are being taken, 
these numbers may vary greatly even though the events are sampled in 
sequence. 

3 This example makes comparisons by time, with values ranging from 1 
ns to 1000 seconds. If the comparison is by count, this field will be 
replaced by fields ranging from 1 to 10T11. 

4 This number is the cumulative mean, maximum, or minimum sample for 
the event. The histogram bar represents the same value. UNUSED 
indicates that OFF has been selected and the event was not sampled. 

4801-10 



Figure 2-10. View All Events menu. Example data has been sampled for three events. 



2-17 



12R01 - Performance Analysis ROM Pack 

APPLICATION EXAMPLES 

The examples in this section are intended to show some of the capabilities of the 
Performance Analysis features. They will help familiarize you with the operation and 
interaction of the menus provided for State Overview and Event Measurement. All 
examples use entirely imaginary code and subroutine names. They are not intended 
as hands on experiments that you can set up and repeat. 

These examples assume that you are familiar with the 1 240 in general, and know how 
to make the necessary connections between the 1 240 and a system under test. 

Example One 



PART ONE 

This example shows how to use State Overview to help improve the efficiency of a 
small program. We want to look at several of the subroutines in our code that we 
suspect might be taking a large piece of the execution time. Our example program will 
be 1000 bytes of code. 

We must first set up the Timebase, Memory Config, and Channel Grouping menus to 
correctly acquire data from the microprocessor. Since we are using a short piece of 
code, we want to capture all of the data. To do this we will go into the Trigger Spec 
menu and set it up to acquire data on the first occurrence of any word (don't care) 
using the synchronous timebase. We will trigger after memory full with the trigger 
position in the center of memory. 

The next step is to determine the exact addresses of the subroutines we are 
interested in. In this example the addresses will be in hexadecimal. We wish to look at 
five subroutines: Open, Sysin, Sysout, Datachek, and Close. Open starts at 0000 and 
ends at address 002D, Sysin starts at address 00F7 and ends at address 01 3A, 
Sysout starts at address 01 3B and ends at address 01 A6, Datachek starts at address 
024A and ends at address 0323, and Close starts at address 0324 and ends at 
address 03E7. 

Figure 3-1 shows the Enter Ranges menu with these subroutines defined as ranges. 



STORAGE 

MEMORY 

MANAGER 



PERF. 
ANALYSIS 
MENU 



PEPF. 
ANALYSIS 



KNOB-SELECT 



M'l>Bff«ll| 



ENTER RANGES 



TARGET 
GROUP TB 



LOU BOUND RANGE HAKE HIGH BOUHD 





BEGIN 
SAMPLING 



CONTINUE 
SAMPLING 



IELETE 
RANGE 



LOAO FROH 
MCTJ " 
CUR! 



ACTIVE 
'""MM 



AOI 
RANGE 



Figure 3-1. Example 1: Setup fer Enter Ranges menu. 



4801-11 



3-1 



12R01 - Performance Analysis ROM Pack 



Once the ranges have been entered, we touch the begin sampling soft key. The 
1240 will acquire data until the acquisition memory is full. This data is processed and 
displayed in the View Range Histograms menu while the 1240 acquires data again. 
The acquire/display cycle continues until we press the STOP key, a Menu key, or a 
Menu soft key. 

Figure 3-2 shows the View Range Histograms menu after several acquisitions have 
been made and the STOP key has been pressed. 























STORAGE 

HEHORY 

HAHACER 




PERF. 
ANALYSIS 
MENU 




w 


STATUS: 
IDLE 




NO. or Tl 

RANGE 
NAHE 


2 - VIEW RANGE HISTOGRAMS 

SAMPLES: 1539 NO. OF ACQUISITIONS: 3 

HORIZONTAL SCALING: KM 

NUHBER OF PERCENTAGE 1 

OCCURRENCES 12 3 4 5 6 7 8 9 8 

e e e a e e 8 8 8 8 8 


OPEN 686 


a«w 




SYSIN 627 


■MaWH 






SYSOUT 

DATACHEK 

CLOSE 




128 

128 

72 




n ■ 






BEGIH 
SAMPLING 




CONTINUE 
SAMPLING 























4801-12 

Figure 3-2. Example 1: View Range Histograms display. Ranges shown were defined in the 
Enter Ranges menu. The most active subroutines are Open and Sysin. 

Summary. In this example we wanted to find the best way to improve the efficiency of 
a program. We defined five subroutines as our areas of interest, and used the 1240 to 
capture all the code in the program. 

As can be seen in Figure 3-2, the two subroutines Open and Sysin took far more 
execution cycles than the others. It appears that the best place to focus our attention 
in optimizing this code is on these two subroutines. 



3-2 



REV JUNE 1984 



12R01 - Performance Analysis ROM Pack 



PART TWO 



In this example we will use Event Measurement to look more closely at the Sysin and 
Open subroutines that we defined in part 1. Since State Overview only counts 
occurrences of state values falling in defined ranges, we need to use Event Measure- 
ment to see how much time is really being spent in those areas. 

Unlike State Overview, Event Measurement does not use the standard 1240 trigger- 
ing. This means that we must define measurement events to locate the data we wish 
to sample. We first go to the Enter Events menu, enter the name Sysin for event 
number one, and select measure total time under measurement type. The first- 
level event recognizer in the Start Measurement event is set to X {don't care). For the 
second level of the Start Measurement event we use the same address that we 
previously used as the lower bound for Sysin in the Enter Ranges menu. We use the 
upper bound of the Sysin range as the Stop Measurement event. 

This process is repeated in event number two for the area we have named Open. We 
do not make a selection under measurement type for Open, since that area is 
configured to match event number 1 . Figure 3-3 shows the Enter Events menu setup 
Sysin. 



STORAGE 

MEMORY 

MANAGER 




EVENT NUMBER: R 



GRP 
START MEASUREMENT AFTFB 



fTlfirW 



3 -- ENTER EUEHTS 
EVENT NAME: 
DR 




CCURRENCES ON 
OCCURRENCES ON 



KEASUREHEMT TYPE 



FROM START TO STOP 



STOP MEASURE 



HfMIAFTER OHIO 



CCURRENCES OK 



BEGIN 
SAMPLING 



CONTINUE 
SAMPLING 



DEFAULT 
EVENT 
SPEC 



LOAD FROM 
ACTjyf 
CURSOI 



4801-13 

Figure 3-3. Example 1: Setup for Enter Events menu. Sysin is defined. The measurement type 

field is selectable only for Sysin, which is event number 1. The measurement type for 

event number 2, named Open, is automatically configured to match event number 1 By 

selecting measure total time we will determine the actual time spent in each area. 

Once these events have been defined, we must go to the Performance Analysis menu 
to access the View All Events menu. We then select mean in the view event field for 
both Sysin and Open. 

We touch the BEGIN sampling soft key, which causes the Event Measurement 
software to begin taking successive time measurements from each event. As samples 
are taken, the data is displayed in the View All Events menu. Regardless of the sample 
rate, the display is updated approximately once a second. Once a significant number 
of samples have been taken for each event we press the stop key. 



3-3 



12R01 - Performance Analysis ROM Pack 



Data in the View All Events menu can reflect the average, maximum, or minimum 
sample time of each event. Figure 3-4 shows the View All Events display after data 
has been accumulated and the STOP key has been pressed. The average time, or 
mean, of the events is displayed. 



STORAGE 

MEMORY 

MANAGER 



PERF. 
ANALYSIS 
MENU 




KNOB-SELECT 

STATUS: 
IDLE 



6 -- YIEH ALL EVENTS 



SPLAY 
SPLAY 
SPLAY 
SPLAY 




FOR SYSIN 
FOR OPEN 
FOR 
FOR 



NO. OF SAMPLES TAKEN: 56 

NO. OF SAMPLES TAKEN! 56 

NO. OF SAMPLES TAKEN: 

NO. OF SAMPLES TAKEN: 6 



18 188 1 18 188 1 18 188 
„„„,„ HS NS #S US »S MS MS MS 
SYSIN l I l I I I l l 

MS MBH^^M^^M^^H 
OPEN I I I I I I I l 
5.951 HS ^^M 



18 188 1888 
S S S 



UNUSED 
UNUSED 



I I 



I I 



BEGIN 
SAMPLING 



CONTINUE 
SAMPLING 



4801-14 
Figure 3-4. Example 1 : View All Events display. Data has been acquired for Sysin and Open, and 
MEAN has been selected as the mode of display for both events. This data indicates 
the average amount of time spent in Sysin and Open each time they occur. 

Although we learned in part 1 that Sysin and Open use approximately the same 
number of cycles, figure 3-4 shows that Sysin is clearly using a greater amount of time 
on the average. This indicates that our time would be most efficiently used in 
attempting to improve the execution time of that subroutine. 

By selecting MAX or min in the Viewing Mode field you may be able to gain additional 
useful information. For example, you might be able to tell whether the individual 
measurement times tend toward their average, or if extreme conditions sometimes 
exist. 

PART THREE 

In part 2 we found that the subroutine Sysin accounts for a large portion of the 
execution time in our program. In order to take a closer look at the subroutine and the 
possible reasons for its time use, we can divide the sampled data into distribution 
ranges. 

Since the Enter Events menu is already set up to MEASURE TOTAL TIME, we only need 
to set up the Enter Distribution Intervals menu. In the Enter Distribution Intervals menu 
we select linear ranges, then enter a base value of 10 NS and a step value of 1 ^S. 
We enter the base value by selecting a multiplicand value of 0.001 , and a time value of 
1 mS. We enter the step value by selecting 1 as the multiplicand and 1 M S as the time 
(these are simply arbitrary values that we have selected for our first guess). Figure 3-5 
shows the setup. 



3-4 



12R01 - Performance Analysis ROM Pack 



STORAGE 

MEMORY 

MANAGER 



PERF. 
ANALYSIS 
MENU 




KNOB=SELECT 



4 -- ENTER DISTRIBUTION INTERVALS 



RANGES 
START RANGES AT 
WITH STEP UALUE 




BEGIN 
SAMPLING 



CONTINUE 
SAMPLING 



4801-15 
Figure 3-5. Example 1: Setup for Enter Distribution Intervals. 

We then go to the View One Event menu, select Sysin as the EVENT being VIEWED, 
and touch the BEGIN sampling soft key. As data from the Sysin event is acquired, the 
View One Event display will be updated. When we feel there is a significant amount of 
data displayed on the screen we press the stop key. Figure 3-6 shows the View One 
Event display after acquiring data on the subroutine Sysin. 



STORAGE 

MEMORY 

MANAGER 




KHOB=SELECT 

STATUS: 
IDLE 



5 -- MIEH ONE EVENT 



DISTRIBUTION OF: 



LINEAR 
RANGE 




172 

173 
148 

I! 



13 



166 



NUMBER OF 
OCCURRENCES 



NO. OF SAMPLES TAKEN: 



HORIZONTAL SCALING: 



861 



BEGIN 
SAMPLING 



CONTINUE 
SAILING 



4801-16 



Figure 3-6. Example 1: View One Event display. Data is acquired for Sysin. This display shows 
that most samples tend toward the average, but that a number of them are dispropor- 
tionately large. 



3-5 



12R01 - Performance Analysis ROM Pack 

Since we are familiar with our code, we can probably make a guess as to why this is 
happening. For example, upon inspecting our code we might discover that Sysin uses 
a loop whose halt condition is controlled by a global variable. The loop works fine most 
of the time, but the global variable controlling the loop is sometimes unrealistic and 
forces it to go through an unusually large number of executions before the halt 
condition is met. 

Summary. In part one of the example we located the most active areas of our 
program. In part two we found which of those areas took up the greatest amount of 
time. In part three we wanted a closer look at one area, so we divided the data 
sampled for Sysin into distribution intervals. Seeing the data divided into distribution 
intervals made it clear that the subroutine was not operating consistently. This 
information led us to make a relatively informed guess as to the nature of the problem. 



Example Two 

PART ONE 

This example shows how to use Event Measurement with two timebases to look at 
two systems sharing a common resource. In this example we will look at a system 
with two CPUs sharing a RAM unit. In other systems the shared resource might be 
units such as a disk drive or an I/O port. 

We will assume that State Overview has been used to locate a subroutine called 
Transfer whose main function involves operations between CPU1 and the RAM. The 
subroutine is not executing properly at all times. 

Because we know that the RAM is also used by CPU2, and because we are already 
pretty sure that this is the area we are interested in, we wish to go directly into the 
View One Event display to see what we can learn about Transfer. 

The first step is to go to the Enter Events menu and define the measurement. We enter 
1 occurrence of X (don't care) for the first level of the Start Measurement event, and 1 
occurrence of the first address of Transfer for the second level. We then select 
MEASURE total time as the measurement. Finally, we enter 1 occurrence of the last 
address of Transfer as the Stop Measurement event. 

Our next step is to call up the Enter Distribution Intervals menu and set up distribution 
intervals we think will be meaningful. As a first guess we will try exponential 
distribution intervals with a base value of 20 NS. Figure 3-7 shows the Enter Display 
Ranges menu with this setup entered. 



3-6 



REV JUNE 1984 



12R01 - Performance Analysis ROM Pack 



STORAGE 
MEHORY 

MANAGER 



PERF. 
ANALYSIS 
rIENU 



KKOB=SELECT 



4 - ENTER DISTRIBUTION INTERNALS 



nHMWIH™ RANGES 
START RANGES AT 



BEGIN 
SAHPLING 



CONTINUE 
SAHPLIHC 



4801-17 

Figure 3-7. Example 2: Setup for Enter Distribution Intervals. As a first guess we have selected 
a base value of 50 NS. Defined ranges are shown in Figure 3-8. 

Once this menu is set up we can touch the BEGIN sampling soft key. The 1 240 will go 
immediately to the View One Event menu, then begin acquiring samples and updating 
the display. Once a significant amount of data is displayed we press the STOP key to 
halt sampling. Figure 3-8 shows the View One Event menu with several hundred 
samples acquired. 



STORAGE 

MEMORY 

MANAGER 




KNOB=SELECT 

STATUS: 
IDLE 



vlEH ONE EUENT 



DISTRIBUTION OF: 



EXPONENTIAL 
RANGE 
8.62 nS 
8.85 »S 
8.18 MS 
8.28 MS 
8.58 MS 
1.88 »S 
2.88 MS 
5.88 MS 

ie.ee »s 

28.88 MS 
58.88 MS 
188.8 MS 
288.8 MS 



NUMBER OF 
OCCURRENCES 




NO. OF SAMPLES TAKEN: 



HORIZONTAL SCALING: 



786 



BEGIN 
SAMPLING 



CONTINUE 
SAMPLING 



4801-18 

Figure 3-8. Example 2: View One Event display. This display shows some data for the 
subroutine Transfer. 



3-7 



12R01 - Performance Analysis ROM Pack 



As can be seen in figure 3-8, the Transfer subroutine has an abnormal use curve. 
Rather than all uses tending toward a norm, the histogram has two peaks: a 
significant number of the samples show that the routine is taking an excessive amount 
of time to execute. 

We know that this routine causes CPU1 to interact heavily with the RAM area. We 
also know that the RAM is shared by CPU2. It is a good guess that the RAM is busy 
with CPU2 when it is called by CPU1, even though we have intentionally set up the 
timing in the system so that this kind of interference shouldn't occur. 

PART TWO 

To see how the two CPUs and the RAM are interacting, we are going to use the View 
All Events display with two timebases. 

What we really want to know is whether CPU2 is locking out the RAM at times when 
CPU1 is supposed to have exclusive access to it. To look at this we need to set up the 
1240 for Operation Level 3, which allows dual-timebase sampling. We then use the 
Enter Events menu to define a measurement whose start and stop events are the first 
and last lines of the subroutine Transfer, which causes CPU1 to interact with the 
RAM. These events will use timebase T1. Within this measurement we are going to 
COUNT OCCURRENCES of a block transfer instruction on CPU2, that we know will only 
occur if CPU2 is using the RAM area. This event will use timebase T2. Figure 3-9 
shows the Enter Events menu set up for this two-timebase sampling. 



STORAGE 

MEMORY 

MANAGER 



PERF. 
ANALYSIS 
MENU 




KHOB=SELECT 



EUEHT HUHBER: 1 



START MEASUREMflJAFTER 
FOLLOWED BY 

MEASUREMENT TYPE 



STOP MEASURE 



3 -- ENTER EUEHTS 
EUEHT NAME: 



CRP 




CCURRENCES ON 
OCCURRENCES ON 




MENTAFTER BBUl 



CCURRENCES ON 



BEGIN 
SAMPLING 



CONTINUE 
SAMPLING 



DEFAULT 
EVENT 
SPEC 



LOAO FROM 
ACTIVE 
CURSOR 



4801 19 

Figure 3-9. Example 2: Setup for Enter Events menu. We are sampling data on two timebases to 
discover if there is activity on both when there should only be activity on one. 

Since the 1240 is able to sample each timebase independently and then time-correlate 
the data, we can monitor activity on one system relative to events on the other 
system. 

To finish this example, we begin acquiring samples. If we come up with a zero result 
(no occurrences of the event on T2), then we know that CPU2 is not using the RAM 
when it is being called by CPU1, and our problem lies elsewhere. However, if 
occurrences are counted, we know that the timing between the devices is incorrect 
and some type of handshaking between the two CPUs is required. 



3-8 



12R01 - Performance Analysis ROM Pack 

APPENDIX A 

STORING AND LOADING ROM PACK SETUPS 

The 1240 provides a special feature that allows the user to store Performance 
Analysis ROM Pack-related setups in a 12RS01 RAM pack. This information can later 
be retrieved to configure the Performance Analysis menus, without repeating the time- 
consuming setup steps initially required. 

STORING PERFORMANCE ANALYSIS SETUPS 

To store the setups you have created while using your 1 2R01 Performance Analysis 
ROM Pack, you must take the following steps. 

1 . Enter the Storage Memory Manager menu, then remove the Performance Analysis 
ROM Pack. 

2. Install a RAM pack in the slot vacated by the ROM pack. 

3. Touch the LOAD NEW PACK soft key. 

4. Select PA_SET in the FILETYPE field. 

5. Select PACK in the STORE IN field on the new file line. 

6. Touch the STORE NEW file soft key. 

All user-supplied data relevant to the 12R01 Performance Analysis ROM Pack will be 
saved in the RAM pack. 

LOADING SETUPS FROM RAM PACKS 

To retrieve the Performance Analysis setups you have stored in a RAM pack, you 
must take the following steps in the Storage Memory Manager menu. 

1. Install and load the Performance Analysis ROM Pack into the 1240. 

2. Remove the ROM pack and replace it with the desired RAM pack. 

3. Touch the LOAD NEW PACK soft key. 

4. Select the desired file in the SELECTED field, then touch the LOAD file soft key. 

5. Remove the RAM pack and install the Performance Analysis ROM Pack, then 
touch the LOAD NEW PACK soft key. 

The Performance Analysis ROM Pack menus will be configured as they were when 
the PA SET file was stored in the RAM pack. 



REV JUNE 1984 A-1 



12R01 - Performance Analysis ROM Pack 



APPENDIX B 



ERROR AND PROMPT MESSAGES 

The following error and prompt messages are specific to the 12R01 Performance 
Analysis ROM Pack; they are not normally used by the 1240. If you get an error 
message that is not listed here, refer to the 1240 Logic Analyzer Operators Manual. 

AVAILABLE RANGES ARE DEFINED: CHANGE AN EXISTING RANGE. You have 
defined all 1 1 ranges for State Overview. To define a new range you must delete or 
change previously defined ranges. 

DON'T CARE INVALID IN THIS FIELD. 

GLITCH INVALID IN THIS FIELD. 

MAXIMUM NUMBER OF SAMPLES EXCEEDED. This message occurs when you 
have acquired more data samples than the Performance Analysis ROM Pack can 
handle. The last valid data remains in the display and the 1240 becomes idle. 

MAXIMUM NUMBER OF OCCURRENCES EXCEEDED. This message appears in 
View One Event menu. Value of a range has a limit of 99,999. If this value is exceeded 
the error message will be displayed and the 1240 will stop acquiring. 

MAXIMUM NUMBER OF ACQUISITION EXCEEDED. This message appears in the 
View Range Histograms menu. If the value associated with the number of acquistion 
exceeds 999,999, this message will be displayed and the 1240 will stop acquiring. 

MOVE CURSOR TO A BOUNDS FIELD. This message indicates that you have 
attempted to use the load from active CURSOR soft key when not in a low-bound or 
high-bound field. 

MOVE FIELD CURSOR TO AN EVENT RECOGNIZER GROUP FIELD. 

NO EVENT SELECTED FOR VIEWING. This message indicates you attempted to 
start sampling with all events OFF in the View All Events menu. 

NO VALID DATA FOR THIS GROUP AT THAT LOCATION. This message indicates 
that you attempted to load from active cursor when data does not exist in that location 
for the selected group. 

PRESS "STOP" TO TERMINATE ACQUISTION. This message indicates that you 
have pressed begin or continue sampling while sampling was taking place. 

USE 1-4 OR SELECT 

USE 1-6 OR SELECT. 



B-1 REV JUNE 1984 



12R01 - Performance Analysis ROM Pack 



REPLACEABLE PARTS LIST 
PERFORMANCE ANALYSIS ROM PACK 



12R01 



NUMBER TEK. P/N 



DESCRIPTION 



ELECTRICAL (REFER TO SCHEMATIC IN 1240 SERVICE MANUAL) 
A43 670-8172-00 



A43C100 
A43C400 



U200 
U300 



281-0775-00 
281-0775-00 



160-2458-01 
160-2457-01 



CRT. BOARD ASSY: 32/64K MEMORY ROM PACK 
(U200, U300 EPROMs ARE NOT PART OF A43) 

CAP, FIXED, CER, Dl: 0.1 uF, 20%, 50V 
CAP, FIXED, CER, Dl: 0.1 uF, 20%, 50V 

CHASSIS PARTS 

MICROCKT, DGTL: 16384x8 EPROM, PRGM 
MICROCKT, DGTL: 16384x8 EPROM, PRGM 



MECHANICAL (REFER TO EXPLODED VIEW DRAWING) 



1 
2 



5 
6 
7 
8 
9 
10 



334-5228-00 
200-2503-01 



3 211-0012-00 



131-0993-00 
131-0608-00 
136-0755-00 
337-3122-00 
200-2504-01 
334-4727-00 

070-4801-00 



1 MARKER, IDENT: MKD 12R01 

1 COVER, ROM PACK: TOP 
(ATTACHING PARTS) 

4 SCREW, MACHINE: 4.40x0.375, PHD, STL 

CKT BOARD ASSY: 32/64K MEMORY ROM PACK 
(SEE A43 REPL) 

2 • BUS CONDUCTOR: 2 WIRE, BLACK 

6 • TERMINAL, PIN: 0.365 L x 0.025 PH BRZ GOLD 

2 • SKT, PL-IN ELEC: MICROCIRCUIT, 28 DIP 

1 SHIELD, ELEC: STATIC 

1 COVER, ROM PACK: BOTTOM 

1 MARKER, IDENT: MKD PROM PROGRAM IDENT 

STANDARD ACCESSORIES 

1 MANUAL, TECH: INSTRUCTION 



REV JUNE 1984 



C-1 



12R01 - Performance Analysts ROM Pack 




A43 



C-2 



12R01 - Performance Analysis ROM Pack 



INDEX * 

acquiring data 2-2 

bound values 2-2, 2-3, 2-11 

diagnostics 1-3 

error messages B-1 

glitches 2-2, 2-7 

installation 

ROM pack 1-2 

1 240 connections 1-2 

optional accessories 1-1 

performance analysis menus 

1240 Performance Analysis menu 1-2, 2-1, 2-6 

event measurement menus 

View All Events menu 1-2, 2-16, 2-17 

Enter Distribution Intervals menu 1-2, 2-11, 2-12, 2-13, 2-14 

Enter Events menu 1-2, 2-7, 2-8, 2-9, 2-10 

View One Event menu 1-2, 2-14, 2-15 

state overview menus 

View Range Histograms menu 1-2, 2-2, 2-5 

Enter Ranges menu 1-2, 2-3, 2-4 

RAM pack storage A-1 

samples 2-6, 2-7, 2-8, 2-10 

soft keys 

BEGIN SAMPLING 2-2, 2-4, 2-7 

CONTINUE SAMPLING 2-2, 2-4, 2-7 

DEFAULT EVENT SPEC 2-7, 2-9 

DELETE RANGE 2-5 

ADD RANGE 2-5 

LOAD FROM ACTIVE CURSOR 2-2, 2-4, 2-7 

PERFORMANCE ANALYSIS MENU 1-2, 2-1 

PERFORMANCE ANALYSIS SUB-MENU 2-1 

START key 2-2 

start measurement event 2-6, 2-8 

STOP key 2-2, 2-5, 2-6 

stop measurement event 2-6, 2-8 



When an index entry has more than one page reference, the one in bold type is the primary 
reference.